#include<stdio.h>
#include<signal.h>
#include<unistd.h>
void show_pending(sigset_t* pending )
{
  for(int i=1;i<32;i++)
  {
    if(sigismember(pending,i))
    {
      printf("1");
    }
    else{
      printf("0");
    }
  }

  printf("\n");
}



int main()
{
  sigset_t iset,oset;
  sigemptyset(&iset);
  sigemptyset(&oset);
  
  sigaddset(&iset,2);
  sigprocmask(SIG_SETMASK,&iset,&oset);

  //设置pending信号集
  sigset_t pending;
  int count=1;
  while(1)
  {
    //清空pending信号集
    sigemptyset(&pending);
    //设置pending信号集为我们所创建的信号集
    sigpending(&pending);
    
    //展示设置的信号集
    show_pending(&pending);
    
    sleep(1);
    count++;
    if(count==10)
    {
      sigprocmask(SIG_SETMASK,&oset,NULL);
    }
  }









  return 0;
}
